package com.nb.dp.strategy.v1;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * @author lihaoyang6
 * @date 2023年11月28日 19:53
 */
@Service
public class PayContext{


    //Spring会自动注入，key就是PayStrategy子类名字
    @Autowired
    private Map<String,PayStrategy> payStrategyMap;




    public String doPay(PayModel payModel){
        PayStrategy payStrategy = payStrategyMap.get(payModel.getPayType());
        if(payStrategy == null){
            return "未找到类型为【"+payModel.getPayType()+"】的支付方式实现类";
        }
        return payStrategy.doPay(payModel.getPayMoney());
    }


}
